package com.freight.msg.service;

import com.freight.core.base.FreightBaseService;
import com.freight.core.common.vo.SearchVo;
import com.freight.msg.dto.MsgCustCategoryDto;
import com.freight.msg.dto.MsgCustMessDto;
import com.freight.msg.dto.MsgCustMessReplayDto;
import com.freight.msg.dto.MsgCustMessSaveDto;
import com.freight.msg.entity.MsgCustCategory;
import com.freight.msg.entity.MsgCustMess;
import com.freight.msg.vo.MsgCustMessVo;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

/**
 * 客户咨询投诉信息接口
 * @author huyingtai
 */
public interface MsgCustMessService extends FreightBaseService<MsgCustMess, Long> {

    /**
     * 根据id获取内容
     * @param id
     * @retur
     */
    MsgCustMessVo getMsgCustMessId(Long id);

    /**
     * 删除问答类目
     * @param msgCustCategoryId
     */
    void deleteMsgCustCategory(Long msgCustCategoryId);

    /**
     * 删除问答内容
     * @param msgCustMessId
     */
    void deleteMsgCustMess(Long msgCustMessId);

    /**
     * 保存问答内容
     * @param content
     */
    void saveMsgCustMess(String content);

    /**
     * 保存问答类目
     * @param msgCustCategoryDto
     */
    void saveMsgCustCategory(MsgCustCategoryDto msgCustCategoryDto);

    /**
     * 获取问答类目列表
     * @param pageable
     * @return
     */
    Page<MsgCustCategory> getMsgCustCategoryList(Pageable pageable);

    Page<MsgCustCategory> platformMsgCustCategoryList(Pageable pageable);

    /**
     * 根据id获取问答内容列表
     * @param msgCustCategoryId
     * @param pageable
     * @return
     */
    Page<MsgCustMess> getMsgCustMessIdList(Long msgCustCategoryId , Pageable pageable);

    /**
    * 多条件分页获取
    * @param pageable
    * @return
    */
    Page<MsgCustMess> findByCondition( Pageable pageable);

    void genCustMess(MsgCustMessDto msgCustMessDto);

    void replayCustMess(MsgCustMessReplayDto msgCustMessDto);
}